package com.ruoyi.test_tree.service;

import java.util.List;
import com.ruoyi.test_tree.domain.SysTreeDict;

/**
 * 系统树形字典Service接口
 * 
 * @author ruoyi
 * @date 2025-08-21
 */
public interface ISysTreeDictService 
{
    /**
     * 查询系统树形字典
     * 
     * @param dictId 系统树形字典主键
     * @return 系统树形字典
     */
    public SysTreeDict selectSysTreeDictByDictId(Long dictId);

    /**
     * 查询系统树形字典列表
     * 
     * @param sysTreeDict 系统树形字典
     * @return 系统树形字典集合
     */
    public List<SysTreeDict> selectSysTreeDictList(SysTreeDict sysTreeDict);

    /**
     * 新增系统树形字典
     * 
     * @param sysTreeDict 系统树形字典
     * @return 结果
     */
    public int insertSysTreeDict(SysTreeDict sysTreeDict);

    /**
     * 修改系统树形字典
     * 
     * @param sysTreeDict 系统树形字典
     * @return 结果
     */
    public int updateSysTreeDict(SysTreeDict sysTreeDict);

    /**
     * 批量删除系统树形字典
     * 
     * @param dictIds 需要删除的系统树形字典主键集合
     * @return 结果
     */
    public int deleteSysTreeDictByDictIds(Long[] dictIds);

    /**
     * 删除系统树形字典信息
     * 
     * @param dictId 系统树形字典主键
     * @return 结果
     */
    public int deleteSysTreeDictByDictId(Long dictId);

    /**
     * 获取树形结构数据
     * 
     * @return 树形结构数据
     */
    public List<SysTreeDict> selectTreeDictTree();
    
    /**
     * 获取树形结构数据（带筛选条件）
     * 
     * @param dictValueStartWith dictValue前缀
     * @return 树形结构数据
     */
    public List<SysTreeDict> selectTreeDictTree(String dictValueStartWith);
}
